using ProtoBuf;

using System.Collections.Generic;
using Fantasy;
using Fantasy.Network.Interface;
using Fantasy.Serialize;
#pragma warning disable CS8618

namespace Fantasy
{
	[ProtoContract]
	public partial class C2G_WxyMsgReq : AMessage, IRequest, IProto
	{
		public static C2G_WxyMsgReq Create(Scene scene)
		{
			return scene.MessagePoolComponent.Rent<C2G_WxyMsgReq>();
		}
		public override void Dispose()
		{
			name = default;
#if FANTASY_NET || FANTASY_UNITY
			GetScene().MessagePoolComponent.Return<C2G_WxyMsgReq>(this);
#endif
		}
		[ProtoIgnore]
		public C2G_WxyMsgRsp ResponseType { get; set; }
		public uint OpCode() { return OuterOpcode.C2G_WxyMsgReq; }
		[ProtoMember(1)]
		public string name { get; set; }
	}
	[ProtoContract]
	public partial class C2G_WxyMsgRsp : AMessage, IResponse, IProto
	{
		public static C2G_WxyMsgRsp Create(Scene scene)
		{
			return scene.MessagePoolComponent.Rent<C2G_WxyMsgRsp>();
		}
		public override void Dispose()
		{
			ErrorCode = default;
			tag = default;
#if FANTASY_NET || FANTASY_UNITY
			GetScene().MessagePoolComponent.Return<C2G_WxyMsgRsp>(this);
#endif
		}
		public uint OpCode() { return OuterOpcode.C2G_WxyMsgRsp; }
		[ProtoMember(1)]
		public string tag { get; set; }
		[ProtoMember(2)]
		public uint ErrorCode { get; set; }
	}
	[ProtoContract]
	public partial class C2G_ConnectChatRequest1 : AMessage, IRequest, IProto
	{
		public static C2G_ConnectChatRequest1 Create(Scene scene)
		{
			return scene.MessagePoolComponent.Rent<C2G_ConnectChatRequest1>();
		}
		public override void Dispose()
		{
#if FANTASY_NET || FANTASY_UNITY
			GetScene().MessagePoolComponent.Return<C2G_ConnectChatRequest1>(this);
#endif
		}
		[ProtoIgnore]
		public G2C_ConnectChatResponse1 ResponseType { get; set; }
		public uint OpCode() { return OuterOpcode.C2G_ConnectChatRequest1; }
	}
	[ProtoContract]
	public partial class G2C_ConnectChatResponse1 : AMessage, IResponse, IProto
	{
		public static G2C_ConnectChatResponse1 Create(Scene scene)
		{
			return scene.MessagePoolComponent.Rent<G2C_ConnectChatResponse1>();
		}
		public override void Dispose()
		{
			ErrorCode = default;
#if FANTASY_NET || FANTASY_UNITY
			GetScene().MessagePoolComponent.Return<G2C_ConnectChatResponse1>(this);
#endif
		}
		public uint OpCode() { return OuterOpcode.G2C_ConnectChatResponse1; }
		[ProtoMember(1)]
		public uint ErrorCode { get; set; }
	}
	[ProtoContract]
	public partial class C2Chat_WxyHelloMsg : AMessage, ICustomRouteMessage, IProto
	{
		public static C2Chat_WxyHelloMsg Create(Scene scene)
		{
			return scene.MessagePoolComponent.Rent<C2Chat_WxyHelloMsg>();
		}
		public override void Dispose()
		{
			msg = default;
#if FANTASY_NET || FANTASY_UNITY
			GetScene().MessagePoolComponent.Return<C2Chat_WxyHelloMsg>(this);
#endif
		}
		public uint OpCode() { return OuterOpcode.C2Chat_WxyHelloMsg; }
		[ProtoIgnore]
		public int RouteType => Fantasy.RouteType.ChatRoute;
		[ProtoMember(1)]
		public string msg { get; set; }
	}
	[ProtoContract]
	public partial class C2Chat_WxyHelloReq : AMessage, ICustomRouteRequest, IProto
	{
		public static C2Chat_WxyHelloReq Create(Scene scene)
		{
			return scene.MessagePoolComponent.Rent<C2Chat_WxyHelloReq>();
		}
		public override void Dispose()
		{
			msg = default;
#if FANTASY_NET || FANTASY_UNITY
			GetScene().MessagePoolComponent.Return<C2Chat_WxyHelloReq>(this);
#endif
		}
		[ProtoIgnore]
		public Chat2C_WxyHelloRsp ResponseType { get; set; }
		public uint OpCode() { return OuterOpcode.C2Chat_WxyHelloReq; }
		[ProtoIgnore]
		public int RouteType => Fantasy.RouteType.ChatRoute;
		[ProtoMember(1)]
		public string msg { get; set; }
	}
	[ProtoContract]
	public partial class Chat2C_WxyHelloRsp : AMessage, ICustomRouteResponse, IProto
	{
		public static Chat2C_WxyHelloRsp Create(Scene scene)
		{
			return scene.MessagePoolComponent.Rent<Chat2C_WxyHelloRsp>();
		}
		public override void Dispose()
		{
			ErrorCode = default;
			msg = default;
#if FANTASY_NET || FANTASY_UNITY
			GetScene().MessagePoolComponent.Return<Chat2C_WxyHelloRsp>(this);
#endif
		}
		public uint OpCode() { return OuterOpcode.Chat2C_WxyHelloRsp; }
		[ProtoMember(1)]
		public string msg { get; set; }
		[ProtoMember(2)]
		public uint ErrorCode { get; set; }
	}
	[ProtoContract]
	public partial class C2G_TestMsg : AMessage, IMessage, IProto
	{
		public static C2G_TestMsg Create(Scene scene)
		{
			return scene.MessagePoolComponent.Rent<C2G_TestMsg>();
		}
		public override void Dispose()
		{
#if FANTASY_NET || FANTASY_UNITY
			GetScene().MessagePoolComponent.Return<C2G_TestMsg>(this);
#endif
		}
		public uint OpCode() { return OuterOpcode.C2G_TestMsg; }
	}
}
